package org.jvnet.jaxb2_commons.xjc; import java.io.File; import java.lang.reflect.Field; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.types.Path; public class XJC2Task extends com.sun.tools.xjc.XJC2Task { @Override public void execute() throws BuildException { hack(); super.execute(); } protected void hack() { try { final Field declaredField = getClass().getSuperclass() .getDeclaredField("classpath"); declaredField.setAccessible(true); final Path path = (Path) declaredField.get(this); if (path != null) { for (String pathElement : path.list()) { options.classpaths.add(new File(pathElement).toURI() .toURL()); } } } catch (Exception ex) { throw new BuildException(ex); } } }